package com.ctg.itrdc.sysmgr.portal.data.entity;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

import com.ctg.itrdc.pasp.core.Entity;


@Table(name = "PRIVILEGE")
public class Privilege extends Entity<Long> {
	private static final long serialVersionUID = -2811347047325737314L;


	/**
	 * 权限标识，主键
	 */
	@Id
	@Column(name = "PRIV_ID")
	private Long privId;

	/**
	 * 创建人
	 */
	@Column(name = "CREATE_STAFF")
	private Long createStaff;

	/**
	 * 复用层度,不复用、私有、公有
	 */
	@Column(name = "REUSE_LEVEL")
	private String reuseLevel;

	/**
	 * 修改时间
	 */
	@Column(name = "UPDATE_DATE")
	private Timestamp updateDate;

	/**
	 * 生效时间
	 */
	@Column(name = "EFF_DATE")
	private Timestamp effDate;

	/**
	 * 权限类型,LOVB,区分是功能权限、数据权限、混合权限
	 */
	@Column(name = "PRIV_TYPE")
	private String privType;

	/**
	 * 状态时间
	 */
	@Column(name = "STATUS_DATE")
	private Timestamp statusDate;

	/**
	 * 租户标识。
	 */
	@Column(name = "TENANT_ID")
	private Long tenantId;

	/**
	 * 权限管控类别，LOVB,区分是普通权限、管控权限，对于高危权限能够有一定的提醒，并且可以有不同的授权流程。
	 */
	@Column(name = "PRIV_MANAGE_CLASS")
	private String privManageClass;

	/**
	 * 权限编码
	 */
	@Column(name = "PRIV_CODE")
	private String privCode;

	/**
	 * 分片键1，固定值-1。
	 */
	@Column(name = "SHARD1")
	private Long shard1;

	/**
	 * 修改人
	 */
	@Column(name = "UPDATE_STAFF")
	private Long updateStaff;

	/**
	 * 失效时间
	 */
	@Column(name = "EXP_DATE")
	private Timestamp expDate;

	/**
	 * 分片键2，固定值-1。
	 */
	@Column(name = "SHARD2")
	private Long shard2;

	/**
	 * 权限描述
	 */
	@Column(name = "PRIV_DESC")
	private String privDesc;

	/**
	 * 权限的归属系统
	 */
	@Column(name = "SYS_CODE")
	private String sysCode;

	/**
	 * 状态
	 */
	@Column(name = "STATUS_CD")
	private String statusCd;

	/**
	 * 在用版本号
	 */
	@Column(name = "USE_VERSION")
	private String useVersion;

	/**
	 * 创建时间
	 */
	@Column(name = "CREATE_DATE")
	private Timestamp createDate;

	/**
	 * 权限名称
	 */
	@Column(name = "PRIV_NAME")
	private String privName;

	/**
	 * 创建版本号
	 */
	@Column(name = "CRT_VERSION")
	private String crtVersion;


	public void setPrivId(Long privId){
		this.privId = privId;
	}

	public Long getPrivId(){
		return this.privId;
	}

	public void setCreateStaff(Long createStaff){
		this.createStaff = createStaff;
	}

	public Long getCreateStaff(){
		return this.createStaff;
	}

	public void setReuseLevel(String reuseLevel){
		this.reuseLevel = reuseLevel;
	}

	public String getReuseLevel(){
		return this.reuseLevel;
	}

	public void setUpdateDate(Timestamp updateDate){
		this.updateDate = updateDate;
	}

	public Timestamp getUpdateDate(){
		return this.updateDate;
	}

	public void setEffDate(Timestamp effDate){
		this.effDate = effDate;
	}

	public Timestamp getEffDate(){
		return this.effDate;
	}

	public void setPrivType(String privType){
		this.privType = privType;
	}

	public String getPrivType(){
		return this.privType;
	}

	public void setStatusDate(Timestamp statusDate){
		this.statusDate = statusDate;
	}

	public Timestamp getStatusDate(){
		return this.statusDate;
	}

	public void setTenantId(Long tenantId){
		this.tenantId = tenantId;
	}

	public Long getTenantId(){
		return this.tenantId;
	}

	public void setPrivManageClass(String privManageClass){
		this.privManageClass = privManageClass;
	}

	public String getPrivManageClass(){
		return this.privManageClass;
	}

	public void setPrivCode(String privCode){
		this.privCode = privCode;
	}

	public String getPrivCode(){
		return this.privCode;
	}

	public void setShard1(Long shard1){
		this.shard1 = shard1;
	}

	public Long getShard1(){
		return this.shard1;
	}

	public void setUpdateStaff(Long updateStaff){
		this.updateStaff = updateStaff;
	}

	public Long getUpdateStaff(){
		return this.updateStaff;
	}

	public void setExpDate(Timestamp expDate){
		this.expDate = expDate;
	}

	public Timestamp getExpDate(){
		return this.expDate;
	}

	public void setShard2(Long shard2){
		this.shard2 = shard2;
	}

	public Long getShard2(){
		return this.shard2;
	}

	public void setPrivDesc(String privDesc){
		this.privDesc = privDesc;
	}

	public String getPrivDesc(){
		return this.privDesc;
	}

	public void setSysCode(String sysCode){
		this.sysCode = sysCode;
	}

	public String getSysCode(){
		return this.sysCode;
	}

	public void setStatusCd(String statusCd){
		this.statusCd = statusCd;
	}

	public String getStatusCd(){
		return this.statusCd;
	}

	public void setUseVersion(String useVersion){
		this.useVersion = useVersion;
	}

	public String getUseVersion(){
		return this.useVersion;
	}

	public void setCreateDate(Timestamp createDate){
		this.createDate = createDate;
	}

	public Timestamp getCreateDate(){
		return this.createDate;
	}

	public void setPrivName(String privName){
		this.privName = privName;
	}

	public String getPrivName(){
		return this.privName;
	}

	public void setCrtVersion(String crtVersion){
		this.crtVersion = crtVersion;
	}

	public String getCrtVersion(){
		return this.crtVersion;
	}

	@Override
	public Long getId() {
		return privId;
	}
	
	@Override
	public void setId(Long id) {
		this.privId = id;
	}
	
	public Privilege() {
		super();
    }
}
